﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Skynet.BusinessLogic.DataAccess
{
    public interface IExamByCustomerRepository
    {
        void Add(BusinessEntities.ExamByCustomer item);
        double CountActiveExams(Guid CustomerId);
        double CountRunningExams(Guid CustomerId);
        double CountCompleteExams(Guid CustomerId);
        void Update(BusinessEntities.ExamByCustomer item);
        void UpdateCurrentTime(Guid ExamByCustomerId);
        void UpdateScore(Guid ExamByCustomerId, double score);


        void ValidationStatesSystem();

        BusinessEntities.ExamByCustomer GetOne(object key);
        IEnumerable<BusinessEntities.ExamByCustomer> GetExamByCustomer(Guid CustomerId);
        IEnumerable<BusinessEntities.ExamByCustomer> GetRuntimeByCustomer(Guid CustomerId);
        BusinessEntities.ExamByCustomer GetRuntimeByCustomerExamId(Guid CustomerExamId);

        void UpdateStatus(Guid ExamByCustomerId, BusinessEntities.ExamActivationStatus examActivationStatus);
    }
}
